package gob.inei.enaho.view.enaho01;

import java.util.List;

import android.content.Intent;
import android.view.View;
import android.widget.Button;

import com.inqbarna.tablefixheaders.TableFixHeaders;

import util.android.cuestionario.fragment.PageView;
import util.form.respuesta.RegistroImpl;
import util.patron.command.Command1;
import gob.inei.enaho.context.AppContext;
import gob.inei.enaho.controller.activity.EnahoFragmentActivity;
import gob.inei.enaho.model.domain.enaho.cuestionario.Enaho01;
import gob.inei.enaho.model.domain.persona.Hogar;
import gob.inei.enaho.model.domain.persona.MiembroHogar;
import gob.inei.enaho.model.service.HogarService;
import gob.inei.enaho.model.service.MiembroHogarEna01Cap200Service;
import gob.inei.enaho.view.adapters.MiembroHogarAdapter;
import gob.inei.enaho2014.R;

public class Cap200HomeFragment 
extends AbstractCap200Fragment {
	
	private HogarService hogarService = AppContext.getServices().getHogarService();
	private MiembroHogarEna01Cap200Service miembroHogarEna01Cap200Service = AppContext.getServices().getMiembroHogarEna01Cap200Service();
	
	@Override
	public int getLayoutId() {
		return R.layout.cap200_home;
	}
	
	@Override
	protected void procesarOnCreateView(final PageView pv) throws Exception {
		final String c = hogar.getVivienda().getConglomerado().getCodigo();
		final String v = hogar.getVivienda().getCodigo();
		final String h = hogar.getCodigoString();
		
		
		TableFixHeaders tblMiembros = pv.findViewById(R.id.tblMiembros);
		
		List<MiembroHogar> lista = miembroHogarEna01Cap200Service.findByHogar(hogar); 
		
		if(lista.isEmpty()) {
			Hogar hogar = hogarService.findByIdParaApertura(c, v, h);
			
			RegistroImpl r = new RegistroImpl();
			r.agregar("p201", "1");
			r.agregar("p202a", hogar.getJefe().getNombres());
			r.agregar("p202b", hogar.getJefe().getApellidos());
			miembroHogarEna01Cap200Service.guardar_actualizar(hogar, r);
			
			lista = miembroHogarEna01Cap200Service.findByHogar(hogar);
		}
		
		tblMiembros.setAdapter(new MiembroHogarAdapter(getActivity(), lista));
		
		//List<Hogar> lista1 = hogarService.findByViviendaParaListaEnApertura(c,v); 
		//tblMiembros.setAdapter(new HogarAdapter(this, lista1));
				
		//RegistroImpl r =  ena01Cap100Service.findById(hogar,pv.getNombresInputsEnTotal());
		//pv.update(r);
		
		Button btnNuevo = pv.findViewById(R.id.btnNuevo);
		btnNuevo.setOnClickListener(new View.OnClickListener() {			
			@Override
			public void onClick(View view) {
								
				try {
					EnahoFragmentActivity.abrirCapitulo(getActivity(), c, v, h, 
							Enaho01.CAP200_Miembro.getSeccion(),
							new Command1<Intent>() {							
								@Override
								public void execute(Intent obj) throws Exception {
									String ord = miembroHogarEna01Cap200Service.findSiguienteNroOrdenByHogar(hogar);
									obj.putExtra("p201", ord);
								}
							}
							);
				} catch (Exception e) {
					Cap200HomeFragment.this.getCuestionarioContext().manejarExcepcion(e);
				}
			}
		});
		
	}

	
	
}